﻿//----------------------------------------------
// 将JSON数据，回传到页面,依赖于Jquery.json插件
// Version :V 0.1.0
// 表单操作类库
// 1、将JSON数据影射到Form里
// 2、将From的数据转换成JSON数据格式
// 3、URLEncode
// 4、数据保存操作
// 5、数据修改操作
// ----------------------------------------------------------
// 6、数据删除操作
// 7、数据查询
// ----------------------------------------------------------
Entity = {
    name:"Post",
    instance:"",
    action:""
}

$iSun = function(){}

$iSun.Post = function (data, url, FnSucess, FnError) {
    /// <summary>post执行的操作</summary>
    /// <param name="url" type="String">目标url</param>
    /// <param name="data" type="String">postData的对象</param>
    /// <param name="fnsucess" type="function">【非必要属性】,请求成功后的操作
    /// <param name="fnerror" type="function">【非必要属性】,请求失败后的操作</param>
    $.ajax({
        data: data,
        url: url,
        type: "POST",
        cache: false,
        success: FnSucess,
        error: function (data) { if (FnError) FnError(data); }
    });
}


$iSun.Save = function (FnSucess, FnError) {
    var url = "../AjaxData/datasave.ashx";
    $iSun.Post($.toJSON(Entity), url, FnSucess, FnError);
}

$iSun.ObjectClone = function (o1, o2) {
    $.each(o1, function (p, v) {
        if (v != null && typeof (v) != undefined) {
            eval("o2." + p + "='" + v + "'");
        }
    });
}

function SaveData(action) {
    if (entity) {
        Entity.name = entity;
        Entity.action = action;
        if (Entity.GroupId) {
            Entity.GroupId = getPar1(groupid);
        }
    }
    //克隆对象
    var _object = $('#w').extractObject();
    //新增
    if (typeof (_editdata) == "undefined") {
        _editdata = _object;
    }
    else {
        $iSun.ObjectClone(_object, _editdata)
    }
    if (_editdata) {
        Entity.instance = $.toJSON(_editdata);  
    }
    $iSun.Save(FnSucess,FnError);
 }

 function Save(fn) {
     this._fn = fn;
     if (entityid == undefined) {
         entityid = "update";
     }
     if ($("#" + entityid).val() == "") {
         SaveData("insert");
     }
     else {
         SaveData("update");
     }
 }

function FnSucess(data) {
    fnSucess(data, _fn)
}

var _fn;
function Refresh() {
    if (_fn) {
        _fn();
    }
}


function fnSucess(data,fn)
{
    if (data == "sucess") {
        if (typeof (fn) == "function") {
            fn();
        }
        $.messager.alert('提示', '数据保存成功!', 'info');

    }
    else {
        if (typeof(fn)=="function") {
            fn();
        }
        $.messager.alert('提示', '数据保存成功!', 'info');
    }
}

function FnError(data)
{
    alert(data);
}